#pragma once
#include "Renderer/VertexArray.h"

namespace Orange {
	class OpenGlVertexArray : public VertexArray
	{
	public:
		OpenGlVertexArray();
		~OpenGlVertexArray();
		 void bind() const override;
		 void ubind() const override;
		 void AddVertexBuffer(const Ref<VertexBuffer>& vertexBuffer) override;
		 void SetIndexBuffer(const Ref<IndexBuffer>& indexBuffer) override;
		 const std::vector<Ref<VertexBuffer>>& GetVertexBuffer() const { return m_vertexbuffers; };
		 const Ref<IndexBuffer>& GetIndexBuffer() const { return m_indexbuffer; };
	private:
		std::vector<Ref<VertexBuffer>> m_vertexbuffers;
		Ref<IndexBuffer> m_indexbuffer;
		uint32_t m_RendererId;
	};

}